import os
import re


def getMacByIp(ip):
    """
    借助 arp 程序通过 ip 查询对于的 mac。查询到了就返回 mac 地址，如 fc:f5:c4:07:fc:f0。 查询不到返回空
    注意：需要提前安装 arp 程序
    """
    output = "".join(os.popen("arp -a " + ip))
    mac = re.search(
        r"( ([0-9A-F]{1,2}[:]){5}([0-9A-F]{1,2}) | ([0-9A-F]{1,2}[.]){5}([0-9A-F]{1,2}) | ([0-9A-F]{1,2}[-]){5}([0-9A-F]{1,2}) )",
        output,
        re.I,
    )
    if mac:
        return mac.group()
    else:
        return None


if __name__ == "__main__":
    print("This is a test")
    mac = getMacByIp("172.20.10.2")
    print(mac)
    print("test over")
